package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 快递入库对象 parcel_inventory
 *
 * @author ruoyi
 * @date 2024-05-19
 */
public class ParcelInventory extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 快件编号，主键，自增 */
    private Long parcelId;

    /** 快递公司 */
    @Excel(name = "快递公司")
    private String courierCompany;

    /** 收件人姓名 */
    @Excel(name = "收件人姓名")
    private String recipientName;

    /** 收件人联系方式 */
    @Excel(name = "收件人联系方式")
    private String recipientPhone;

    /** 快件到达时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "快件到达时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date arrivalTime;

    /** 快件当前位置 */
    @Excel(name = "快件当前位置")
    private String location;

    /** 快件状态，默认值为入库 */
    @Excel(name = "快件状态，默认值为入库")
    private String status;

    /** 是否已向用户发送通知，默认值为1 */
    @Excel(name = "是否已向用户发送通知，默认值为1")
    private String notificationSent;

    /** 取件码 */
    @Excel(name = "取件码")
    private String pickupCode;

    /** 快递单号 */
    @Excel(name = "快递单号")
    private String parcelCode;

    @Excel(name = "出库时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date outboundTime;
    @Excel(name = "预约时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date subscribeTime;
    private String selectType;

    public String getSelectType() {
        return selectType;
    }

    public void setSelectType(String selectType) {
        this.selectType = selectType;
    }

    public Date getOutboundTime() {
        return outboundTime;
    }

    public void setOutboundTime(Date outboundTime) {
        this.outboundTime = outboundTime;
    }

    public Date getSubscribeTime() {
        return subscribeTime;
    }

    public void setSubscribeTime(Date subscribeTime) {
        this.subscribeTime = subscribeTime;
    }

    public void setParcelId(Long parcelId)
    {
        this.parcelId = parcelId;
    }

    public Long getParcelId()
    {
        return parcelId;
    }
    public void setCourierCompany(String courierCompany)
    {
        this.courierCompany = courierCompany;
    }

    public String getCourierCompany()
    {
        return courierCompany;
    }
    public void setRecipientName(String recipientName)
    {
        this.recipientName = recipientName;
    }

    public String getRecipientName()
    {
        return recipientName;
    }
    public void setRecipientPhone(String recipientPhone)
    {
        this.recipientPhone = recipientPhone;
    }

    public String getRecipientPhone()
    {
        return recipientPhone;
    }
    public void setArrivalTime(Date arrivalTime)
    {
        this.arrivalTime = arrivalTime;
    }

    public Date getArrivalTime()
    {
        return arrivalTime;
    }
    public void setLocation(String location)
    {
        this.location = location;
    }

    public String getLocation()
    {
        return location;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setNotificationSent(String notificationSent)
    {
        this.notificationSent = notificationSent;
    }

    public String getNotificationSent()
    {
        return notificationSent;
    }
    public void setPickupCode(String pickupCode)
    {
        this.pickupCode = pickupCode;
    }

    public String getPickupCode()
    {
        return pickupCode;
    }
    public void setParcelCode(String parcelCode)
    {
        this.parcelCode = parcelCode;
    }

    public String getParcelCode()
    {
        return parcelCode;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("parcelId", getParcelId())
                .append("courierCompany", getCourierCompany())
                .append("recipientName", getRecipientName())
                .append("recipientPhone", getRecipientPhone())
                .append("arrivalTime", getArrivalTime())
                .append("location", getLocation())
                .append("status", getStatus())
                .append("notificationSent", getNotificationSent())
                .append("pickupCode", getPickupCode())
                .append("parcelCode", getParcelCode())
                .toString();
    }
}
